package br.unifor.ads.pjappfinanceiro_dkp.manager;

import br.unifor.ads.pjappfinanceiro.entity.Usuario;
import br.unifor.ads.pjappfinanceiro.exceptions.BusinessException;
import br.unifor.ads.pjappfinanceiro.internacionalizacao.Messages;
import br.unifor.ads.pjappfinanceiro.business.UsuarioBussiness;

public class UsuarioManager {

	private static UsuarioBussiness usuarioBusiness = new UsuarioBussiness();
	private Boolean usuarioLogado;
	
	
	public String inserirUsuario(Usuario usuario) throws BusinessException {
		try {
			usuarioBusiness.cadastrarUsuario(usuario);
			return Messages.MSG_INSERCAO_EX1;
		} catch (Exception e) {
			return e.getMessage();
		}
		

	}
	
	
	public String updateUsuario(Usuario usuario) throws BusinessException {
		try {
			usuarioBusiness.alterarUsuario(usuario);
			return Messages.MSG_ATUALIZACAO_EX2;
		} catch (Exception e) {
			return e.getMessage();
		}

	}
	

	public String deleteUsuario(Integer id) throws BusinessException {
		try {
			usuarioBusiness.excluirUsuario(id);
			return Messages.MSG_EXCLUSAO_EX2;
		} catch (Exception e) {
			return e.getMessage();
		}

	}	
	
	public String locateUsuarioPorLogin(String login) throws BusinessException {
		try {

			  usuarioBusiness.localizarUsuarioPorLogin(login);
			return Messages.MSG_LOCALIZACAO_EX2;
		} catch (Exception e) {
			return e.getMessage();
		}

	}	
	
	
	
	//Perguntar o professor porque não funciona com as mensagens
	public String logar(String email, String senha) {
		try {
			usuarioLogado = usuarioBusiness.login(email, senha);
			if (usuarioLogado) {
				return Messages.SAUDACAO_EX1;
			} else {
				return Messages.SAUDACAO_EX2;
			}
		} catch (BusinessException e) {
			return e.getMessage();
		}

	}

	public Boolean getUsuarioLogado() {
		return usuarioLogado;
	}

	public void setUsuarioLogado(Boolean usuarioLogado) {
		this.usuarioLogado = usuarioLogado;
	}

}
